/**
 * <copyright>
 * </copyright>
 *
 */
package de.sabram.upb.specs.ptg;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see de.sabram.upb.specs.ptg.PtgFactory
 * @model kind="package"
 * @generated
 */
public interface PtgPackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "ptg";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.sabram.de/upb/specs/Ptg";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "ptg";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  PtgPackage eINSTANCE = de.sabram.upb.specs.ptg.impl.PtgPackageImpl.init();

  /**
   * The meta object id for the '{@link de.sabram.upb.specs.ptg.impl.PTGSpecImpl <em>PTG Spec</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.sabram.upb.specs.ptg.impl.PTGSpecImpl
   * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getPTGSpec()
   * @generated
   */
  int PTG_SPEC = 0;

  /**
   * The feature id for the '<em><b>Ptgspecs</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PTG_SPEC__PTGSPECS = 0;

  /**
   * The number of structural features of the '<em>PTG Spec</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PTG_SPEC_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.sabram.upb.specs.ptg.impl.PatternSpecImpl <em>Pattern Spec</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.sabram.upb.specs.ptg.impl.PatternSpecImpl
   * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getPatternSpec()
   * @generated
   */
  int PATTERN_SPEC = 1;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PATTERN_SPEC__NAME = 0;

  /**
   * The feature id for the '<em><b>Pattern Body</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PATTERN_SPEC__PATTERN_BODY = 1;

  /**
   * The number of structural features of the '<em>Pattern Spec</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PATTERN_SPEC_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.sabram.upb.specs.ptg.impl.PatternBodyImpl <em>Pattern Body</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.sabram.upb.specs.ptg.impl.PatternBodyImpl
   * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getPatternBody()
   * @generated
   */
  int PATTERN_BODY = 2;

  /**
   * The feature id for the '<em><b>Pattern Body</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PATTERN_BODY__PATTERN_BODY = 0;

  /**
   * The number of structural features of the '<em>Pattern Body</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int PATTERN_BODY_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.sabram.upb.specs.ptg.impl.OptionalImpl <em>Optional</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.sabram.upb.specs.ptg.impl.OptionalImpl
   * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getOptional()
   * @generated
   */
  int OPTIONAL = 3;

  /**
   * The feature id for the '<em><b>Items</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OPTIONAL__ITEMS = 0;

  /**
   * The number of structural features of the '<em>Optional</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OPTIONAL_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.sabram.upb.specs.ptg.impl.ItemImpl <em>Item</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.sabram.upb.specs.ptg.impl.ItemImpl
   * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getItem()
   * @generated
   */
  int ITEM = 4;

  /**
   * The feature id for the '<em><b>Item Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ITEM__ITEM_NAME = 0;

  /**
   * The feature id for the '<em><b>Item Call</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ITEM__ITEM_CALL = 1;

  /**
   * The feature id for the '<em><b>Insertion</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ITEM__INSERTION = 2;

  /**
   * The number of structural features of the '<em>Item</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ITEM_FEATURE_COUNT = 3;

  /**
   * The meta object id for the '{@link de.sabram.upb.specs.ptg.impl.FunctionCallImpl <em>Function Call</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.sabram.upb.specs.ptg.impl.FunctionCallImpl
   * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getFunctionCall()
   * @generated
   */
  int FUNCTION_CALL = 5;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION_CALL__NAME = 0;

  /**
   * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION_CALL__ARGUMENTS = 1;

  /**
   * The number of structural features of the '<em>Function Call</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int FUNCTION_CALL_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.sabram.upb.specs.ptg.impl.ArgumentImpl <em>Argument</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.sabram.upb.specs.ptg.impl.ArgumentImpl
   * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getArgument()
   * @generated
   */
  int ARGUMENT = 6;

  /**
   * The feature id for the '<em><b>Insertion</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ARGUMENT__INSERTION = 0;

  /**
   * The number of structural features of the '<em>Argument</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ARGUMENT_FEATURE_COUNT = 1;

  /**
   * The meta object id for the '{@link de.sabram.upb.specs.ptg.impl.InsertionImpl <em>Insertion</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.sabram.upb.specs.ptg.impl.InsertionImpl
   * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getInsertion()
   * @generated
   */
  int INSERTION = 7;

  /**
   * The feature id for the '<em><b>Index</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INSERTION__INDEX = 0;

  /**
   * The feature id for the '<em><b>Type</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INSERTION__TYPE = 1;

  /**
   * The number of structural features of the '<em>Insertion</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int INSERTION_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link de.sabram.upb.specs.ptg.impl.TypeImpl <em>Type</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see de.sabram.upb.specs.ptg.impl.TypeImpl
   * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getType()
   * @generated
   */
  int TYPE = 8;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE__NAME = 0;

  /**
   * The number of structural features of the '<em>Type</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TYPE_FEATURE_COUNT = 1;


  /**
   * Returns the meta object for class '{@link de.sabram.upb.specs.ptg.PTGSpec <em>PTG Spec</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>PTG Spec</em>'.
   * @see de.sabram.upb.specs.ptg.PTGSpec
   * @generated
   */
  EClass getPTGSpec();

  /**
   * Returns the meta object for the containment reference list '{@link de.sabram.upb.specs.ptg.PTGSpec#getPtgspecs <em>Ptgspecs</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Ptgspecs</em>'.
   * @see de.sabram.upb.specs.ptg.PTGSpec#getPtgspecs()
   * @see #getPTGSpec()
   * @generated
   */
  EReference getPTGSpec_Ptgspecs();

  /**
   * Returns the meta object for class '{@link de.sabram.upb.specs.ptg.PatternSpec <em>Pattern Spec</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Pattern Spec</em>'.
   * @see de.sabram.upb.specs.ptg.PatternSpec
   * @generated
   */
  EClass getPatternSpec();

  /**
   * Returns the meta object for the attribute '{@link de.sabram.upb.specs.ptg.PatternSpec#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.sabram.upb.specs.ptg.PatternSpec#getName()
   * @see #getPatternSpec()
   * @generated
   */
  EAttribute getPatternSpec_Name();

  /**
   * Returns the meta object for the containment reference '{@link de.sabram.upb.specs.ptg.PatternSpec#getPatternBody <em>Pattern Body</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Pattern Body</em>'.
   * @see de.sabram.upb.specs.ptg.PatternSpec#getPatternBody()
   * @see #getPatternSpec()
   * @generated
   */
  EReference getPatternSpec_PatternBody();

  /**
   * Returns the meta object for class '{@link de.sabram.upb.specs.ptg.PatternBody <em>Pattern Body</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Pattern Body</em>'.
   * @see de.sabram.upb.specs.ptg.PatternBody
   * @generated
   */
  EClass getPatternBody();

  /**
   * Returns the meta object for the containment reference list '{@link de.sabram.upb.specs.ptg.PatternBody#getPatternBody <em>Pattern Body</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Pattern Body</em>'.
   * @see de.sabram.upb.specs.ptg.PatternBody#getPatternBody()
   * @see #getPatternBody()
   * @generated
   */
  EReference getPatternBody_PatternBody();

  /**
   * Returns the meta object for class '{@link de.sabram.upb.specs.ptg.Optional <em>Optional</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Optional</em>'.
   * @see de.sabram.upb.specs.ptg.Optional
   * @generated
   */
  EClass getOptional();

  /**
   * Returns the meta object for the containment reference list '{@link de.sabram.upb.specs.ptg.Optional#getItems <em>Items</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Items</em>'.
   * @see de.sabram.upb.specs.ptg.Optional#getItems()
   * @see #getOptional()
   * @generated
   */
  EReference getOptional_Items();

  /**
   * Returns the meta object for class '{@link de.sabram.upb.specs.ptg.Item <em>Item</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Item</em>'.
   * @see de.sabram.upb.specs.ptg.Item
   * @generated
   */
  EClass getItem();

  /**
   * Returns the meta object for the attribute '{@link de.sabram.upb.specs.ptg.Item#getItemName <em>Item Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Item Name</em>'.
   * @see de.sabram.upb.specs.ptg.Item#getItemName()
   * @see #getItem()
   * @generated
   */
  EAttribute getItem_ItemName();

  /**
   * Returns the meta object for the containment reference '{@link de.sabram.upb.specs.ptg.Item#getItemCall <em>Item Call</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Item Call</em>'.
   * @see de.sabram.upb.specs.ptg.Item#getItemCall()
   * @see #getItem()
   * @generated
   */
  EReference getItem_ItemCall();

  /**
   * Returns the meta object for the containment reference '{@link de.sabram.upb.specs.ptg.Item#getInsertion <em>Insertion</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Insertion</em>'.
   * @see de.sabram.upb.specs.ptg.Item#getInsertion()
   * @see #getItem()
   * @generated
   */
  EReference getItem_Insertion();

  /**
   * Returns the meta object for class '{@link de.sabram.upb.specs.ptg.FunctionCall <em>Function Call</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Function Call</em>'.
   * @see de.sabram.upb.specs.ptg.FunctionCall
   * @generated
   */
  EClass getFunctionCall();

  /**
   * Returns the meta object for the attribute '{@link de.sabram.upb.specs.ptg.FunctionCall#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.sabram.upb.specs.ptg.FunctionCall#getName()
   * @see #getFunctionCall()
   * @generated
   */
  EAttribute getFunctionCall_Name();

  /**
   * Returns the meta object for the containment reference list '{@link de.sabram.upb.specs.ptg.FunctionCall#getArguments <em>Arguments</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Arguments</em>'.
   * @see de.sabram.upb.specs.ptg.FunctionCall#getArguments()
   * @see #getFunctionCall()
   * @generated
   */
  EReference getFunctionCall_Arguments();

  /**
   * Returns the meta object for class '{@link de.sabram.upb.specs.ptg.Argument <em>Argument</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Argument</em>'.
   * @see de.sabram.upb.specs.ptg.Argument
   * @generated
   */
  EClass getArgument();

  /**
   * Returns the meta object for the containment reference '{@link de.sabram.upb.specs.ptg.Argument#getInsertion <em>Insertion</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Insertion</em>'.
   * @see de.sabram.upb.specs.ptg.Argument#getInsertion()
   * @see #getArgument()
   * @generated
   */
  EReference getArgument_Insertion();

  /**
   * Returns the meta object for class '{@link de.sabram.upb.specs.ptg.Insertion <em>Insertion</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Insertion</em>'.
   * @see de.sabram.upb.specs.ptg.Insertion
   * @generated
   */
  EClass getInsertion();

  /**
   * Returns the meta object for the attribute '{@link de.sabram.upb.specs.ptg.Insertion#getIndex <em>Index</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Index</em>'.
   * @see de.sabram.upb.specs.ptg.Insertion#getIndex()
   * @see #getInsertion()
   * @generated
   */
  EAttribute getInsertion_Index();

  /**
   * Returns the meta object for the containment reference '{@link de.sabram.upb.specs.ptg.Insertion#getType <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Type</em>'.
   * @see de.sabram.upb.specs.ptg.Insertion#getType()
   * @see #getInsertion()
   * @generated
   */
  EReference getInsertion_Type();

  /**
   * Returns the meta object for class '{@link de.sabram.upb.specs.ptg.Type <em>Type</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Type</em>'.
   * @see de.sabram.upb.specs.ptg.Type
   * @generated
   */
  EClass getType();

  /**
   * Returns the meta object for the attribute '{@link de.sabram.upb.specs.ptg.Type#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see de.sabram.upb.specs.ptg.Type#getName()
   * @see #getType()
   * @generated
   */
  EAttribute getType_Name();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  PtgFactory getPtgFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link de.sabram.upb.specs.ptg.impl.PTGSpecImpl <em>PTG Spec</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.sabram.upb.specs.ptg.impl.PTGSpecImpl
     * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getPTGSpec()
     * @generated
     */
    EClass PTG_SPEC = eINSTANCE.getPTGSpec();

    /**
     * The meta object literal for the '<em><b>Ptgspecs</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PTG_SPEC__PTGSPECS = eINSTANCE.getPTGSpec_Ptgspecs();

    /**
     * The meta object literal for the '{@link de.sabram.upb.specs.ptg.impl.PatternSpecImpl <em>Pattern Spec</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.sabram.upb.specs.ptg.impl.PatternSpecImpl
     * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getPatternSpec()
     * @generated
     */
    EClass PATTERN_SPEC = eINSTANCE.getPatternSpec();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute PATTERN_SPEC__NAME = eINSTANCE.getPatternSpec_Name();

    /**
     * The meta object literal for the '<em><b>Pattern Body</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PATTERN_SPEC__PATTERN_BODY = eINSTANCE.getPatternSpec_PatternBody();

    /**
     * The meta object literal for the '{@link de.sabram.upb.specs.ptg.impl.PatternBodyImpl <em>Pattern Body</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.sabram.upb.specs.ptg.impl.PatternBodyImpl
     * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getPatternBody()
     * @generated
     */
    EClass PATTERN_BODY = eINSTANCE.getPatternBody();

    /**
     * The meta object literal for the '<em><b>Pattern Body</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference PATTERN_BODY__PATTERN_BODY = eINSTANCE.getPatternBody_PatternBody();

    /**
     * The meta object literal for the '{@link de.sabram.upb.specs.ptg.impl.OptionalImpl <em>Optional</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.sabram.upb.specs.ptg.impl.OptionalImpl
     * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getOptional()
     * @generated
     */
    EClass OPTIONAL = eINSTANCE.getOptional();

    /**
     * The meta object literal for the '<em><b>Items</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference OPTIONAL__ITEMS = eINSTANCE.getOptional_Items();

    /**
     * The meta object literal for the '{@link de.sabram.upb.specs.ptg.impl.ItemImpl <em>Item</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.sabram.upb.specs.ptg.impl.ItemImpl
     * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getItem()
     * @generated
     */
    EClass ITEM = eINSTANCE.getItem();

    /**
     * The meta object literal for the '<em><b>Item Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ITEM__ITEM_NAME = eINSTANCE.getItem_ItemName();

    /**
     * The meta object literal for the '<em><b>Item Call</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ITEM__ITEM_CALL = eINSTANCE.getItem_ItemCall();

    /**
     * The meta object literal for the '<em><b>Insertion</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ITEM__INSERTION = eINSTANCE.getItem_Insertion();

    /**
     * The meta object literal for the '{@link de.sabram.upb.specs.ptg.impl.FunctionCallImpl <em>Function Call</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.sabram.upb.specs.ptg.impl.FunctionCallImpl
     * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getFunctionCall()
     * @generated
     */
    EClass FUNCTION_CALL = eINSTANCE.getFunctionCall();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute FUNCTION_CALL__NAME = eINSTANCE.getFunctionCall_Name();

    /**
     * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference FUNCTION_CALL__ARGUMENTS = eINSTANCE.getFunctionCall_Arguments();

    /**
     * The meta object literal for the '{@link de.sabram.upb.specs.ptg.impl.ArgumentImpl <em>Argument</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.sabram.upb.specs.ptg.impl.ArgumentImpl
     * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getArgument()
     * @generated
     */
    EClass ARGUMENT = eINSTANCE.getArgument();

    /**
     * The meta object literal for the '<em><b>Insertion</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ARGUMENT__INSERTION = eINSTANCE.getArgument_Insertion();

    /**
     * The meta object literal for the '{@link de.sabram.upb.specs.ptg.impl.InsertionImpl <em>Insertion</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.sabram.upb.specs.ptg.impl.InsertionImpl
     * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getInsertion()
     * @generated
     */
    EClass INSERTION = eINSTANCE.getInsertion();

    /**
     * The meta object literal for the '<em><b>Index</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute INSERTION__INDEX = eINSTANCE.getInsertion_Index();

    /**
     * The meta object literal for the '<em><b>Type</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference INSERTION__TYPE = eINSTANCE.getInsertion_Type();

    /**
     * The meta object literal for the '{@link de.sabram.upb.specs.ptg.impl.TypeImpl <em>Type</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see de.sabram.upb.specs.ptg.impl.TypeImpl
     * @see de.sabram.upb.specs.ptg.impl.PtgPackageImpl#getType()
     * @generated
     */
    EClass TYPE = eINSTANCE.getType();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TYPE__NAME = eINSTANCE.getType_Name();

  }

} //PtgPackage
